/* interface version */
// import { NumbersCollection } from './interface-version/NumbersCollection'
// import { CharactersCollection } from './interface-version/CharactersCollection'
// import { LinkedList } from './interface-version/LinkedList'
// import { Sorter } from './interface-version/Sorter'

// const numberCollection = new NumbersCollection([5, -1, 10, 2]),
//   characterCollection = new CharactersCollection('svdT'),
//   linkedList = new LinkedList(),
//   numberSorter = new Sorter(numberCollection),
//   characterSorter = new Sorter(characterCollection),
//   linkedListSorter = new Sorter(linkedList)

// numberSorter.sort()
// console.log(numberCollection.data)

// characterSorter.sort()
// console.log(characterCollection.data)

// linkedList.add(5)
// linkedList.add(-1)
// linkedList.add(10)
// linkedList.add(2)
// linkedListSorter.sort()
// linkedList.print()

/* abstract classes version */
import { NumbersCollection } from './abstract-classes-version/NumbersCollection'
import { CharactersColletion } from './abstract-classes-version/CharactersCollection'
import { LinkedList } from './abstract-classes-version/LinkedList'

const numberCollection = new NumbersCollection([5, -1, 10, 2]),
  characterCollection = new CharactersColletion('shtA'),
  linkedList = new LinkedList()

numberCollection.sort()
console.log(numberCollection.data)

characterCollection.sort()
console.log(characterCollection.data)

linkedList.add(5)
linkedList.add(-1)
linkedList.add(10)
linkedList.add(2)
linkedList.sort()
linkedList.print()
